package cn.findviewbydream.evil.main.dao;


import cn.findviewbydream.evil.main.entity.UserEntity;
import cn.findviewbydream.evil.main.enums.RegisterType;
import cn.findviewbydream.evil.main.exception.RegisterException;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/********************************************
 * 工程名：HebeuCS
 * 包名：cn.findviewbydream.evil.main.dao
 * 时间：16-11-1 下午5:41
 * 作者：白雨濃 evil
 * 邮箱：evilbai@foxmail.com
 * 内容：注册数据库操作
 ********************************************/
@Repository("loginDao")
public interface LoginDao
{
    /**
     * 查询用户
     *
     * @param userEntity 用户实体
     * @return 密码
     */
    UserEntity selectUser(UserEntity userEntity);

    /**
     * 更新最后一次登录时间
     *
     * @param userName 用户名
     * @return 更新的行数 1为true 0为false
     */
    int updateLastloginTime(String userName);

    /**
     * 注册用户
     *
     * @param userEntity 用户实体
     * @return 插入行数 0为插入失败,1为插入成功
     */
    int insertUser(UserEntity userEntity);

    /**
     * 查询用户是否在黑名单
     *
     * @param userName 用户名
     * @return true为在黑名单 允许为空
     */
    Boolean selectBlack(String userName);

    /**
     * 将用户纳入黑名单或取消黑名单
     *
     * @param userName 用户名
     * @return 更新的行数 1为true 0为false
     */
    int updateBlack(@Param("userName") String userName, @Param("isBlack") boolean isBlack);
}
